package com.qcby.entity;

import lombok.Data;

@Data
public class Result<T> {
    private Integer code;
    private String message;
    private T data;

    // 成功方法（带数据）
    public static <T> Result<T> success(T data) {
        Result<T> res = new Result<>();
        res.setCode(200);
        res.setMessage("操作成功");
        res.setData(data);
        return res;
    }
    public static <T> Result<T> success(T data,Integer code) {
        Result<T> res = new Result<>();
        res.setCode(code);
        res.setMessage("操作成功");
        res.setData(data);
        return res;
    }
    // 成功方法（无数据，比如删除操作）
    public static <T> Result<T> success() {
        return success(null);
    }

    // 失败方法（自定义错误消息）
    public static <T> Result<T> error(String message) {
        Result<T> res = new Result<>();
        res.setCode(400);
        res.setMessage(message);
        return res;
    }

    // 系统异常方法（统一返回 500）
    public static <T> Result<T> error() {
        return error("系统异常，请联系管理员");
    }
}